System and method for enabling instant messaging on a mobile device

ABSTRACT

A method and system for enabling instant messaging on mobile devices is provided. A customized SMS message is created that awakens the mobile device so that instant messaging may be initiated. Once the mobile device is awakened by the customized SMS message, the mobile device responds to the customized SMS message and initiates processing. Based on information obtained, the mobile device creates a reply customized SMS message. The reply customized SMS message is translated into a reply instant message, which is transmitted over a persistent Internet connection to the sender responsible for awakening the mobile device. Alternatively, the mobile device may respond by creating an Internet connection and establishing a chat session over the Internet connection. The chat session allows the exchange of instant messages between the mobile device and the sender responsible for awakening the mobile device.

This application is a continuation of prior U.S. patent application Ser.No. 10/140,389, filed May 6, 2002.

FIELD OF THE INVENTION

The present invention relates generally to mobile computing, and moreparticularly to enabling instant messaging on a mobile device.

BACKGROUND OF THE INVENTION

Instant messaging between individuals has become very popular. Ingeneral, instant messaging allows individuals to establish private chatsessions with each other through their respective personal computers.Typically, each individual creates a screen name and submits the screenname to an instant messaging system that stores the screen name in adatabase. Persons, who are interested in chatting with a particularindividual, can add the screen name associated with that particularindividual to their private list. Then, when any of the individualslisted on their private list are online, the instant messaging systemsends an alert indicating that the individual is online and is availablefor chatting. A chat session may then be initiated through the Internetfor chatting with the desired individual.

This instant messaging system works well for individuals using computingdevices that maintain persistent connections to the Internet. Theseindividuals may register their computing devices with the instantmessaging system and inform the instant messaging system of their state(e.g., “online”). However, the instant messaging system does not workfor mobile individuals using mobile devices. For one reason, mobileindividuals do not typically maintain a persistent Internet connectionon their mobile device for any significant duration. The reason for notmaintaining a persistent Internet connection is typically driven by costand battery-life considerations associated with their mobile device. Forexample, if a mobile device maintains a persistent Internet connection,its battery would most likely be expended after only a few hours. Thiswould make the mobile device useless for other uses (e.g., phoneconversations, emails, etc.).

Given the desirability of instant messaging, there is a need to extendinstant messaging to mobile individuals using mobile devices.

SUMMARY OF THE INVENTION

The present invention provides a method and system that enables mobiledevices to send and receive instant messages. Because mobile devices donot typically maintain a persistent Internet connection, the mobiledevices are not available to receive instant messages. In accordancewith the present invention, a customized SMS message is created thatawakens the mobile device so that instant messaging may be initiated.Once the mobile device is awakened by the customized SMS message, themobile device may respond by transmitting a reply customized SMSmessage. The reply customized SMS message is transmitted over a cellularnetwork. After the reply customized SMS message is translated into areply instant message, the reply instant message is transmitted over apersistent Internet connection to the sender responsible for awakeningthe mobile device with the customized SMS message. Alternatively, themobile device may respond by creating an Internet connection andestablishing a chat session over the Internet connection. The chatsession allows the sender responsible for awakening the mobile deviceand the mobile device to exchange instant messages over the Internetconnection.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary computing device that may be used in oneexemplary embodiment of the present invention;

FIG. 2 illustrates an exemplary mobile device that may be used in oneexemplary embodiment of the present invention;

FIG. 3 is a functional block diagram of one exemplary instant messagingsystem as implemented using the computing device shown in FIG. 1 and themobile device shown in FIG. 2;

FIG. 4 is a graphical representation of salient portions of a customizedSMS message in accordance with the present invention;

FIG. 5 is logical flow diagram generally illustrating an overview of aprocess for enabling instant messaging with a mobile device;

FIG. 6 is a logical flow diagram generally illustrating a process forestablishing a pseudo-chat session that is suitable for use in FIG. 5;and

FIG. 7 is a logical flow diagram illustrating a process for establishinga chat session that is suitable for use in FIG. 5.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is directed at providing a system and method forenabling instant messaging on a mobile device. Briefly described, thepresent invention creates a customized Short Message Service (SMS)message that is transmitted to a mobile device. The customized SMSmessage is based on an instant message transmitted by a sender. Uponreceipt of the customized SMS message, the mobile device determines thatthe customized SMS message is associated with an instant message. Basedon this determination, the mobile device “wakes up” and responds to theinstant message. The mobile device may respond by transmitting a replycustomized SMS message that is addressed to the sender. Alternatively,the mobile device may respond by creating an Internet connection andestablishing a chat session with the sender. These and other aspects ofthe invention will become apparent to those skilled in the art afterreading the following detailed description.

The invention may be implemented in one or more components operatingwithin a distributed computing network and a wireless computing network.The components may include software programs or applications operatingon computing systems of various configurations. The following discussionfirst describes two general types of computing systems that can be usedto implement the embodiments of the present invention. Those two generaltypes of computing systems are illustrated in FIG. 1 and FIG. 2. Next, adetailed discussion of two illustrative implementations of theinvention, illustrated in FIGS. 3–7, are described based on these twotypes of computing systems.

Illustrative Operating Environment

With reference to FIG. 1, one exemplary system for implementing theinvention includes a computing device, such as computing device 100. Ina very basic configuration, computing device 100 typically includes atleast one processing unit 102 and system memory 104. Depending on theexact configuration and type of computing device, system memory 104 maybe volatile (such as RAM), non-volatile (such as ROM, flash memory,etc.) or some combination of the two. System memory 104 typicallyincludes an operating system 105, one or more program modules 106, andmay include program data 107. This basic configuration is illustrated inFIG. 1 by those components within dashed line 108.

Computing device 100 may have additional features or functionality. Forexample, computing device 100 may also include additional data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Such additional storage is illustrated inFIG. 1 by removable storage 109 and non-removable storage 110. Computerstorage media may include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data. System memory 104, removable storage 109and non-removable storage 110 are all examples of computer storagemedia. Computer storage media includes, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by computing device 100. Any such computerstorage media may be part of device 100. Computing device 100 may alsohave input device(s) 112 such as keyboard, mouse, pen, voice inputdevice, touch input device, etc. Output device(s) 114 such as a display,speakers, printer, etc. may also be included. These devices are wellknow in the art and need not be discussed at length here.

Computing device 100 may also contain communication connections 116 thatallow the device to communicate with other computing devices 118, suchas over a network. Communication connections 116 is one example ofcommunication media. Communication media may typically be embodied bycomputer readable instructions, data structures, program modules, orother data in a modulated data signal, such as a carrier wave or othertransport mechanism, and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. The term computer readable media as used herein includesboth storage media and communication media.

With reference to FIG. 2, one exemplary system for implementing theinvention includes a mobile device, such as mobile device 200. Themobile device 200 has a processor 260, a memory 262, a display 228, anda keypad 232. The memory 262 generally includes both volatile memory(e.g., RAM) and non-volatile memory (e.g., ROM, Flash Memory, or thelike). The mobile device 200 includes an operating system 264, such asthe Windows CE operating system from Microsoft Corporation or otheroperating system, which is resident in the memory 262 and executes onthe processor 260. The keypad 232 may be a push button numeric dialingpad (such as on a typical telephone), a multi-key keyboard (such as aconventional keyboard). The display 228 may be a liquid crystal display,or any other type of display commonly used in mobile devices. Thedisplay 228 may be touch-sensitive, and would then also act as an inputdevice.

One or more application programs 266 are loaded into memory 262 and runon the operating system 264. Examples of application programs includephone dialer programs, email programs, scheduling programs, PIM(personal information management) programs, word processing programs,spreadsheet programs, Internet browser programs, instant messagingprograms, and so forth. The mobile computing device 200 also includesnon-volatile storage 268 within the memory 262. The non-volatile storage268 may be used to store persistent information which should not be lostif the mobile computing device 200 is powered down. The applications 266may use and store information in the storage 268, such as e-mail orother messages used by an e-mail application, contact information usedby a PIM, appointment information used by a scheduling program,documents used by a word processing program, instant messaginginformation used by an instant messaging program, and the like.

The mobile computing device 200 has a power supply 270, which may beimplemented as one or more batteries. The power supply 270 might furtherinclude an external power source, such as an AC adapter or a powereddocking cradle, that supplements or recharges the batteries.

The mobile computing device 200 is also shown with two types of externalnotification mechanisms: an LED 240 and an audio interface 274. Thesedevices may be directly coupled to the power supply 270 so that whenactivated, they remain on for a duration dictated by the notificationmechanism even though the processor 260 and other components might shutdown to conserve battery power. The LED 240 may be programmed to remainon indefinitely until the user takes action to indicate the powered-onstatus of the device. The audio interface 274 is used to provide audiblesignals to and receive audible signals from the user. For example, theaudio interface 274 may be coupled to a speaker for providing audibleoutput and to a microphone for receiving audible input, such as tofacilitate a telephone conversation.

The mobile computing device 200 also includes a radio interface layer272 that performs the function of transmitting and receiving radiofrequency communications. The radio interface layer 272 facilitateswireless connectivity between the mobile computing device 200 and theoutside world, via a communications carrier or service provider.Transmissions to and from the radio interface layer 272 are conductedunder control of the operating system 264. In other words,communications received by the radio interface layer 272 may bedisseminated to application programs 266 via the operating system 264,and vice versa.

Illustrative Instant Messaging System

FIG. 3 is a functional block diagram generally illustrating an instantmessaging system 300 for enabling instant messaging between twocomputing systems, one of which is a mobile device 320–322. In oneembodiment of the present invention, the two computing systems are apersonal computer 310–312 and a mobile device 320–322. The personalcomputer 310–312 is a computing device such as the one described abovein conjunction with FIG. 1, and the mobile device 320–322 is a mobilecomputing device such as the one described above in conjunction withFIG. 2. Each personal computer 310–312 includes an instant messageapplication 330. In another embodiment of the present invention, the twocomputing systems may both be mobile devices 320–322, such as the onedescribed above in conjunction with FIG. 2. In a further refinement ofthe invention, an instant message client application 340 resides on themobile device 320–322.

In addition, the instant messaging system 300 includes an instantmessage (IM) server 350 and an IM/SMS server 360. The IM server 350 andthe IM/SMS server 360 are both computing devices such as the onedescribed above in conjunction with FIG. 1. IM server 350 is configuredto perform instant messaging services between two or more personalcomputers 310–312. In one embodiment, IM server 350 is configured as aserver, running Microsoft WINDOWS 2000 operating system, and running anIM server application 352. The IM server application 352 is configuredto maintain a database of user aliases and a state for each of the useraliases. Briefly, the instant messaging service enables two or morepersonal computers 310–312 to create a private chat room and exchangeprivate messages in real-time. There are several instant messagingservices currently available, such as the MSN MESSENGER instantmessaging service from Microsoft Corporation. These messaging servicesare known to those skilled in the art and will be described only to theextent necessary for understanding of the present invention.

In one embodiment, the IM/SMS server 360 is configured as a server,running Microsoft WINDOWS 2000 operating system, and running an IM/SMStranslation application 362. In another embodiment, the IM/SMStranslation application 362′ (shown in phantom) is a software componentthat resides on the IM server 350. In addition, one skilled in the artwill appreciate that the functionality provided by the IM/SMS translatorapplication 362 may also be incorporated into the IM server application352 without departing from the scope of the present invention. Brieflydescribed, the IM/SMS translator application 362 is configured to alertthe mobile device of an instant message and to support the exchange ofinstant messages with the mobile device.

The instant messaging system 300 includes a wide area network(WAN)/local area network (LAN) 370, a cellular/pager network 380, and agateway 390. Typically, WAN/LAN 370 transmits information betweencomputing devices. One example of a WAN is the Internet which connectsmillions of computers over a host of gateways, routers, switches, hubs,and the like. An example of a LAN is a network used to connect computersin a single office. A WAN may connect multiple LANs. Cellular/pagernetwork 380 is a network responsible for delivering messages to andreceiving messages from wireless devices. The cellular/pager network 380may include both wireless and wired components. For example,cellular/pager network may include a cellular tower that is linked to awired telephone network. Typically, the cellular tower carriescommunication to and from cell phones, long-distance communicationlinks, and the like. One example of a messaging service that would usecellular/pager network 380 is the Short Messaging Service (SMS) systemthat delivers short text messages to and from mobile devices, such asmobile phones and pagers. In accordance with the present invention,cellular/pager network 380 delivers customized SMS messages 364 to andfrom mobile devices 320–322. The customized SMS messages 364 are createdand processed by the IM/SMS translation application 362.

Gateway 390 routes messages between cellular/pager network 380 andWAN/LAN 370. For example, a computer user may send an email that isaddressed to a pager. Gateway 390 provides a means for transporting theemail from the WAN/LAN 370 to cellular/pager network 380. Conversely, auser with a device connected to a cellular network may be browsing theWeb. Gateway 390 allows hyperlink text protocol (HTTP) messages to betransferred between WAN/LAN 370 and cellular/pager network 380.

In one exemplary embodiment of the present invention, IM server 350,IM/SMS server 360, and personal computers 310–312 are connected toWAN/LAN 370. Mobile devices 320–322 and IM/SMS server 360 are connectedto cellular/pager network 380. In addition, mobile devices may beconnected directly to WAN/LAN 370, as shown with mobile device 322. Forexample, mobile device 322 may have a network interface that allows itto plug directly into WAN/LAN 370. In other embodiments (not shown), IMserver 350 and personal computers 310–312 may be connected tocellular/pager network 380.

FIG. 4 is a graphical representation generally illustrating the salientportions of a sample customized SMS message 400 suitable for use in thepresent invention. As an overview, Short Messaging Service (SMS) is aservice that allows short text/data messages to be sent and received onGlobal System for Mobile Communications (GSM) cellular networks.Generally, there are three types of SMS messages: GSM characterset-encoded messages (effectively 7-bit encoded text), UCS2-encodedmessages (Unicode encoded 16-bit text), and 8-bit binary-encodedmessages. Typically, GSM-encoded messages and UCS2-encoded messages aretextual and are displayed to the user by a messaging application as soonas they are received, whereas 8-bit binary-encoded messages aregenerally directed at providing device-specific information, such asdevice configuration messages.

As shown, the sample customized SMS message 400 includes a User DataHeader field 402, a source field 404, a destination field 406, aconcatenation field 408 and a message field 410. The User Data Headerfield 402 includes a message type field 412. In accordance with thepresent invention, the message type field 412 stores an identifieridentifying the SMS message 400 as an IM SMS message.

FIG. 5 is logical flow diagram generally illustrating an overview of amobile instant messaging process 500 for enabling instant messaging on amobile device. The process 500 begins at block 502, where a mobile userregisters an alias with the instant messaging service. Registering analias associates the alias with a mobile device. Typically, registeringthe alias is performed one time. As mentioned above, the instantmessaging service maintains a list of aliases and their correspondingstate in a database. The state corresponding to the alias for a mobiledevice will typically indicate offline. This offline state indicates toother IM aliases that the alias is not available for chatting. However,the instant messaging service allows an IM alias to send an IM messageto an alias that appears offline.

At block 504, an incoming IM message addressed to the alias (i.e.,recipient alias) associated with the mobile device is received. Theincoming IM message is generated from another individual on a firstcomputing device. The other individual also has an alias stored with theinstant messaging service. Typically, IM messages are exchanged throughpersistent Internet connections between two individuals on theirpersonal computers. However, with a mobile device, a persistent Internetconnection is not typically connected. Upon recognizing that therecipient alias corresponds to the mobile device, processing proceeds toblock 506.

At block 506, the incoming IM message is translated into a customizedSMS message. As mentioned above, SMS messages are sent over the cellularnetwork to mobile devices. Typically, the SMS messages are short textmessages. The customized SMS message in accordance with the presentinvention leverages existing SMS technology by including a message typefield. For this embodiment of the invention, the message type fieldidentifies the SMS message as an IM message type, which indicates thatthe SMS message originated from an IM message. Processing continues atblock 508.

At block 508, the customized SMS message is sent to the mobile device.In overview, the mobile device is typically in a “sleep” state unlessactively engaged in some activity, such as a telephone call or using aWeb browser. Even though the mobile device is in a “sleep” state, themobile device may accept and receive SMS messages. Thus, at block 510,the mobile device receives the customized SMS message.

At block 512, the mobile device determines that the customized SMSmessage is not a standard SMS message, but is rather associated with aninstant message. Processing continues at block 514.

At block 514, additional processing is performed based on the type ofcustomized SMS message. Two embodiments for enabling instant messagingon the mobile device are illustrated in FIGS. 6 and 7 and describedbelow. Processing is then complete.

FIG. 6 is a logical flow diagram generally illustrating an IM/SMSprocess for establishing a pseudo-chat session between the mobile deviceand the first computing device over the cellular network using SMS. TheIM/SMS process 600 is one embodiment of additional processing suitablefor use in block 514 of FIG. 5. The IM/SMS process 600 begins at block602, where the mobile device has already identified the type ofcustomized SMS message. For the embodiment described below, thecustomized SMS message has been identified as an instant message type.Therefore, an IM client application is initiated on the mobile device.The IM client is initiated after determining the SMS message type sothat battery power can be utilized more effectively.

At block 604, the IM client parses the customized SMS message andretrieves sender information. As will become apparent after reading thecomplete description of the invention, the first computing device (i.e.,the sender) is unaware that instant messaging is being performed with amobile user. To the sender's perspective, instant messaging is beingperformed between two personal computers using a persistent Internetconnection.

At block 606, content of the customized SMS message is read anddisplayed on the mobile device for the mobile user. After reviewing thecontent, the mobile user may input information in response to the IMmessage. For example, the mobile user may select “reply” and type in areply message using the input device associated with the mobile device.The mobile device accepts this input at block 608.

At block 610, the IM client creates a reply customized SMS message basedon the sender information and input obtained above. The reply customizedSMS message has a similar format as the customized SMS message that wasreceived by the mobile device.

At block 612, the IM client sends the reply customized SMS message tothe sender over the cellular network. The reply customized SMS messageidentifies the sender and includes an IM message indicator in themessage type field. An IM/SMS application receives the reply customizedSMS message and translates the reply customized SMS message into a replyIM message at block 614. At block 616, the reply IM message is sent tothe sender through the Internet connection established with the instantmessaging service for instant messaging. Processing is then complete.The first computing device and the mobile device may exchange additionalinstant messages using the process described above in FIGS. 5 and 6.

FIG. 7 is a logical flow diagram generally illustrating an IM processfor establishing a chat session between the mobile device and the firstcomputing device over an Internet connection. The IM process 700 isanother embodiment of additional processing suitable for use in block514 of FIG. 5. The IM process 700 begins at block 702, where the mobiledevice has already identified the type of customized SMS message. Forthe embodiment described below, the customized SMS message has beenidentified as an instant message type. Therefore, an IM clientapplication is initiated on the mobile device. The IM client isinitiated after determining the SMS message type so that battery powercan be utilized more effectively.

At block 704, the IM client parses the customized SMS message andretrieves sender information. At block 706, content of the customizedSMS message is read and displayed on the mobile device for the mobileuser. After reviewing the content, the mobile user may input informationin response to the IM message. For example, the mobile user may select“reply” and type in a reply message using the input device associatedwith the mobile device. The mobile device accepts this input at block708.

The above processing is similar to the processing described above inFIG. 6. However, at block 710, instead of creating a reply customizedSMS message based on the sender information and input, the IM clientestablishes an Internet connection with the sender. The Internetconnection may be established through a wireless LAN, Global System forMobiles (GSM), and the like. The Internet connection allows a seamlessconnection to the sender.

At block 712, the IM client establishes a chat session with the senderover the Internet connection. The sender and the mobile device may thenexchange IM messages through the chat session until one or the otherends the chat session. Once the chat session is terminated, theprocessing described above in conjunction with FIGS. 5 and 7 needs to beperformed again before another exchange of instant messages can occur.Processing is then complete.

Even though the above discussion describes the IM process forestablishing a chat session between the mobile device and the firstcomputing device over an Internet connection, the chat session may occurbetween two mobile devices without departing from the scope of thepresent invention. In this embodiment, the sending mobile device isconnected via the Internet and acting in a similar fashion as acomputing device.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

1. A computer-implemented method for arranging instant messaging on amobile device, comprising: receiving an incoming instant message from afirst computing device that is destined for a mobile device; translatingthe incoming instant message into a customized message; sending thecustomized message to the mobile device; establishing an Internetconnection between the first computing device and the mobile device;upon receiving the customized message on the mobile device, determiningby the mobile device from the customized message that the customizedmessage originated from the incoming instant message and initiatingprocessing with the first computing device based on the customizedmessage, wherein the initiating processing includes creating areply-customized message and sending the reply customized message to aninstant message (IM) server computer; and translating, by the IM servercomputer, the reply customized message into a reply instant message thatis sent to the first computing device.
 2. The computer-implementedmethod of claim 1, wherein the customized message includes a ShortMessage Service message.
 3. The computer-implemented method of claim 2,wherein the customized message is sent over a cellular network.
 4. Thecomputer-implemented method of claim 1, wherein the reply instantmessage is sent over the Internet connection to the first computingdevice.
 5. The computer-implemented method of claim 1, furthercomprising establishing the Internet connection in response to receivingthe customized message.
 6. The computer-implemented method of claim 5,further comprising establishing a chat session for sending instantmessages between the mobile device and the first computing device overthe Internet connection.
 7. The computer-implemented method of claim 6,wherein the Internet connection is via a wireless LAN.
 8. An instantmessaging server for initializing processing in a remote device,comprising: a processor; a memory into which a plurality ofcomputer-executable instructions are loaded, the computer-executableinstructions performing a method comprising: receiving an incominginstant message from a first device; detecting that the incoming instantmessage is destined for a mobile device; translating the incominginstant message into a customized SMS message, wherein the customizedSMS message includes text of the instant message and information thatadapts the mobile device to determine that the customized SMS messageoriginated from an instant message, wherein the mobile device includes aclient application to selectively create a reply customized SMS messagein response to user input on the mobile device and to send the replycustomized SMS message through a cellular network; establishing anInternet connection between the first device and the mobile device; andsending the customized SMS message to the mobile device over a cellularnetwork.
 9. The instant messaging server of claim 8, further comprisingreceiving a reply customized SMS message from the mobile device inresponse to the customized SMS message and translating the replycustomized SMS message into a reply instant message that is sent to thefirst computing device over an Internet connection.
 10. Acomputer-readable medium encoded with computer-executable instructionsfor performing a method for initializing processing in a remote device,comprising: receiving a customized SMS message; determining from thecustomized SMS message that the customized SMS message originated froman instant message sent from a first computing device; initiatingprocessing with the first computing device based on the customized SMSmessage, wherein the initiating processing includes establishing aninternet connection between a mobile device and the first computingdevice over the Internet connection through a cellular network, whereinthe initiating processing includes creating a reply-customized messageand sending the reply customized message to an instant message (IM)server computer; and translating, by the IM server computer, the replycustomized message into a reply instant message that is sent to thefirst computing device.
 11. The computer-readable medium of claim 10,wherein the initiating processing includes creating the reply-customizedmessage and sending the reply customized message to an IM servercomputer.
 12. The computer-readable medium of claim 10, wherein theinitiating processing includes establishing the Internet connection andestablishing a chat session for sending instant messages between themobile device and the first computing device over the Internetconnection.